/*
 * jQuery File Upload Plugin JS Example 6.7
 * https://github.com/blueimp/jQuery-File-Upload
 *
 * Copyright 2010, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */

/*jslint nomen: true, unparam: true, regexp: true */
/*global $, window, document */

UPLOAD={}

$(function () {
    'use strict';
    
    $('#saveTitle').hide();
    
    // Initialize the jQuery File Upload widget:
    $('#fileupload').fileupload();

    // Enable iframe cross-domain access via redirect option:
    $('#fileupload').fileupload(
        'option',
        'redirect',
        window.location.href.replace(
            /\/[^\/]*$/,
            '/cors/result.html?%s'
        )
    );

    if (window.location.hostname === 'blueimp.github.com') {
        // Demo settings:
        $('#fileupload').fileupload('option', {
            url: '//jquery-file-upload.appspot.com/',
            maxFileSize: 5000000,
            acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
            process: [
                {
                    action: 'load',
                    fileTypes: /^image\/(gif|jpeg|png)$/,
                    maxFileSize: 20000000 // 20MB
                },
                {
                    action: 'resize',
                    maxWidth: 1440,
                    maxHeight: 900
                },
                {
                    action: 'save'
                }
            ]
        });
        // Upload server status check for browsers with CORS support:
        if ($.support.cors) {
            $.ajax({
                url: '//jquery-file-upload.appspot.com/',
                type: 'HEAD'
            }).fail(function () {
                $('<span class="alert alert-error"/>')
                    .text('Upload server currently unavailable - ' +
                            new Date())
                    .appendTo('#fileupload');
            });
        }
    } else {
        // Load existing files:
        $('#fileupload').each(function () {
            var that = this;
            $.getJSON(this.action, function (result) {
                if (result && result.length) {
                    $(that).fileupload('option', 'done')
                        .call(that, null, {result: result});
                }
            });
        });
    }
    
    UPLOAD.triggerSaveTitle=function(){
    	var saveBtn = $('#saveTitle');
    	if($('textarea[name="title"]').size()>0){
    		if(saveBtn.is(':hidden')){
    			saveBtn.bind("click", UPLOAD.clickSaveTitle);	
    			saveBtn.show();
    		}
    	} else {
    		saveBtn.hide();
    		saveBtn.unbind("click", UPLOAD.clickSaveTitle);
    	}
    }

    UPLOAD.clickSaveTitle=function(e){
    	var param={};
    	var url = $('#contextPath').val()+"gallery/upload/title";
    	param.data=[];
    	
    	e.preventDefault();
    	
    	$('tr.template-download').each(function(index, tr){
    		var img = $(tr).find('a').attr('download');
    		var title = $(tr).find('textarea').val();
    		
    		param.data.push({"img": img, "title": title});
    	});
    	if(param.data.length > 0){
    		$.ajax({
    			  type: 'POST',
    			  url: url,
    			  data: JSON.stringify(param.data),
    			  success: function(){
    				  window.location.href=$('#gallery-home').attr('href');
    			  },
    			  contentType: 'application/json'
    			});
    	}
    }

});
